List of hash functions

This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions.

Contents

Cyclic redundancy checks

Name Length Type
BSD checksum 16 bits CRC
checksum 32 bits CRC
crc16 16 bits CRC
crc32 32 bits CRC
crc32 mpeg2 32 bits CRC
crc64 64 bits CRC
SYSV checksum 16 bits CRC

Adler-32 is often classified as a CRC, but it uses a different algorithm.

Checksums

Name Length Type
sum8 8 bits sum
sum16 16 bits sum
sum24 24 bits sum
sum32 32 bits sum
fletcher-4 4 bits sum
fletcher-8 8 bits sum
fletcher-16 16 bits sum
fletcher-32 32 bits sum
Adler-32 32 bits sum
xor8 8 bits sum
Luhn algorithm 4 bits sum
Verhoeff algorithm 4 bits sum

Non-cryptographic hash functions

Name Length Type
Pearson hashing 8 bits
Fowler–Noll–Vo hash function 32, 64, 128, 256,
512, or 1024 bits
xor/product or
product/xor
Zobrist hashing variable xor
Jenkins hash function 32 or 64 bits xor/addition
Java hashCode() 32 bits
Bernstein hash[1] 32 bits
elf64 64 bits hash
MurmurHash 32 or 64 bits product/rotation
CityHash 64, 128, or 256 bits

Cryptographic hash functions

Name Length Type
BLAKE-256 256 bits hash
BLAKE-512 512 bits hash
ECOH 224 to 512 bits hash
FSB 160 to 512 bits hash
GOST 256 bits hash
Grøstl 256 to 512 bits hash
HAS-160 160 bits hash
HAVAL 128 to 256 bits hash
JH 512 bits hash
Keccak 512 bits hash
MD2 128 bits hash
MD4 128 bits hash
MD5 128 bits Merkle-Damgård construction
MD6 512 bits Merkle tree NLFSR
RadioGatún Up to 1216 bits hash
RIPEMD-64 64 bits hash
RIPEMD-160 160 bits hash
RIPEMD-320 320 bits hash
SHA-1 160 bits hash
SHA-224 224 bits hash
SHA-256 256 bits hash
SHA-384 384 bits hash
SHA-512 512 bits hash
Skein arbitrary hash
Snefru 128 or 256 bits hash
Spectral Hash 512 bits Wide Pipe Merkle-Damgård construction
SWIFFT 512 bits hash
Tiger 192 bits hash
Whirlpool 512 bits hash

Notes

  1. ^ http://www.partow.net/programming/hashfunctions/index.html